This invention relates to methods for recursive state estimation for discrete-data controlled processes, and more particularly to recursive state estimation for discrete-data controlled processes by matrix factorization.
Due in large part to the rapid advancement in electronics and software technologies, the automation and control of many processes, including non-linear processes, has become increasingly popular. In many instances, discrete-data observations are taken in real-time and provided to a processor or the like. The processor uses the discrete data observations to estimate the current state of various parameters, which may or may not be directly observable or measurable.
Because it is often desirable to provide real time estimation, it is advantageous to operate sequentially on the discrete-data observations, and generate new state estimates as new observations become available. One method of providing such real time state estimates is through the use of a Kalman filter. A Kalman filter is a set of linear equations that provide a recursive solution of the least-squares method. It is recognized that Kalman filters are generally useful in providing state estimation of discrete-data controlled processes that are governed by linear stochastic equations.
To provide state estimation for non-linear discrete-data controlled processes, extended Kalman filters have been developed. Extended Kalman filters operate by providing a linear approximation to the non-linear discrete-data controlled process, often by using partial derivatives of the process and measurement functions. A limitation of both the Kalman filter and the extended Kalman filter is that they both are fundamentally linear in nature. What would be desirable, therefore, is a non-linear filter for estimating the state of non-linear discrete-data controlled processes. It is believed that by applying a non-linear filter to non-linear discrete-data controlled process, more accurate and more cost effective solutions can be obtained.
The present invention overcomes many of the disadvantages of the prior art by providing a filter and method for recursive state estimation by matrix factorization. The filter preferably takes the general form of P=XY, where P is a matrix of previous state and/or current observations, Y is a matrix of functions that are used to model the process, and X is a coefficient matrix relating the functions in the Y matrix to the previous state and/or current observations of the P matrix. Given the previous state and/or current observations, a value for the Y matrix can be computed from which a current state estimate can be recovered. Because the filter of the present invention provides recursive state estimation by matrix factorization, the filter may be easily applied to both linear and non-linear processes.
In a first illustrative embodiment, a non-linear filter is provided that takes the general form of P=XY, where P is a matrix that includes a number of current observations, Y is a matrix of functions, including non-linear functions, that model a non-linear process, and X is a coefficient matrix relating the functions in the Y matrix to the current observations of the P matrix. The non-linear filter calculates value of the functions in the Y matrix using the current observations of the P matrix and selected coefficients of the X matrix. Using the calculated values of the Y matrix, the non-linear filter estimates the current state of the non-linear process by estimating the current value of selected process parameters.
Preferably, an X matrix is calculated for each of a number of preselected process conditions during an initialization, calibration, or setup procedure. Accordingly, a different X matrix may be scheduled for different current process conditions. In one embodiment, after a current process condition is identified, preferably by examining the current observations in the P matrix, a particular X matrix is selected and scheduled for use to calculate the values of the functions in the Y matrix.
To reduce the number of calculations that must be performed, it is desirable to reduce the number of non-zero coefficients in each X matrix. In one illustrative embodiment, this is accomplished by eliminating those coefficients in each X matrix that will not have a significant contribution to the overall result. To identify these coefficients, a diagonal matrix W is provided for each preselected process condition. The diagonal matrix W is then multiplied with the corresponding X matrix to compute a normalized X matrix. Thereafter, the largest entry in each row of the normalized X matrix is identified, and those entries in each row that fall below a predetermined threshold value relative to the largest entry are identified. Finally, those coefficients of the X matrix that correspond to the entries of the corresponding normalized X matrix that fall below the predetermined threshold are set to zero, resulting in a reduced X matrix for each preselected process condition. Further reductions in the X matrices may be obtained by taking into account certain symmetry in the observations. These and other reduction techniques may help reduce the processing time required to calculate the values of the functions in the Y matrix.
Selecting the appropriate X matrix may be done in a variety of ways. In one illustrative embodiment, the X matrix that corresponds to the nearest preselected process condition is selected. In another embodiment, an interpolated X matrix is calculated from the three nearest preselected process conditions, preferably by using barycentric interpolation. The selected X matrix is used to calculate the values of the functions in the Y matrix at the current process condition.
Although it is contemplated that the present invention may be applied to many linear and non-linear processes, one example process may be a non-linear flight control process. The example flight control process may identify, for example, the static pressure, dynamic pressure, attack angle and sideslip of an airplane using a number of pressure measurements taken at various locations on the airplane.
In such a flight control process, the functions in the Y matrix preferably include the static pressure, the dynamic pressure, the dynamic pressure times the attack angle, the dynamic pressure times the sideslip, the dynamic pressure times the (attack angle)2, the dynamic pressure times the attack angle times the sideslip, and the dynamic pressure times the (sideslip)2. As can readily be seen, the last two functions in the Y matrix are non-linear. The selected process parameters that are used to estimate the state of the process may be static pressure, dynamic pressure, attack angle and sideslip. The current values for these process parameters may be extracted from the functions in the Y matrix using, for example, a singular value decomposition algorithm.
To increase the reliability of the system, it is often beneficial to determine if any of the sensors that provide the current observation data failed, preferably in real time. Once identified, the observations provided by the failed sensors can be removed from the analysis. In an illustrative embodiment, this can be accomplished by calculating a matrix Z, such that ZTX=0). Thereafter, a scalar err1 may be calculated by multiplying the matrix ZT with the P matrix. If all of the sensors are functioning properly, the magnitude of err1 should be smaller than a predetermined threshold. If one or more of the sensors failed, the magnitude of err1 should be larger than the predetermined threshold.
If it is determined that one or more sensors failed, it is often desirable to identify the failed sensors. To identify the failed sensors, a system of equations P(i)=X(i)Y(i) may be provided. The system of equations P(i)=X(i)Y(i) corresponds to the relation P=XY with the ith row of the P and X matrix removed. With the ith row removed, the values of the functions in the Y(i) matrix can be calculated using the relation P(i)=X(i)Y(i). Next, a complete set of algebraic generators of the algebraic relations among the entries of the Y(i) matrix is provided. If all of the of the algebraic generators for any xe2x80x9cixe2x80x9d are satisfied within a predetermined range, the one or more sensors that correspond to the ith observation are deemed to be faulty. Once identified, the faulty sensors may be disabled or otherwise removed from the system.
If none of the algebraic generators for any Y(i) are satisfied within a predetermined range, it is assumed that two sensors failed. For many military and other high reliability applications, it is desirable to retain full functionality even when two sensors fail. To identify the failed sensors, a system of equations P(i,j)=X(i,j)Y(i,j) may be provided, which correspond to the relation P=XY with the ith row and the jth row of the P matrix and X matrix removed. With the ith row and jth row removed, the values of functions in the Y(i,j) matrix can be determined using the relation P(i,j)=X(i,j)Y(i,j). Depending on the rank of the X(i,j) matrix, one solution or a family of solutions may exist as further described below. In either case, a complete set of algebraic generators of the algebraic relations among the entries of the Y(i,j) matrix are provided. These algebraic generators may be the same algebraic generators as described above. If all of the algebraic generators for any xe2x80x9ci,jxe2x80x9d pair are satisfied within a predetermined range, the sensors that correspond to the ith observation and the jth observation are deemed to have failed. Once identified, the failed sensors may be disabled or otherwise removed from the system.
As indicated above, removing the ith row or the ith and jth row of the X matrix may reduce the rank of the X(i) matrix or X(i,j) matrix, respectively, relative to the original X matrix. If the rank of the original X matrix is large enough, the rank of the X(i) matrix and X(i,j) matrix may be sufficient to render a single solution. However, if the rank of the original X matrix is not large enough, there may be a family of solutions for the values of the functions in the Y(i) matrix and the Y(i,j) matrix.
When only the ith row of the X matrix is removed, the family of solutions may take the form Y(i)=A+xcexB, where matrix A is a particular solution for Y(i), matrix B satisfies the homogeneous equation X(i)B=0, and xcex is a scalar. In this case, a one parameter search over xcex may be performed to identify if all of the algebraic generators for any Y(i) can be satisfied within a predetermined range. If a xcex0 exists that causes all of the algebraic generators for any xe2x80x9cixe2x80x9d to be satisfied within a predetermined range, the one or more sensors that correspond to the ith observation are deemed to have failed.
Likewise, when both the ith row and the jth row are removed, the family of solutions may take the form Y(i,j)=A+xcexB, where matrix A is a particular solution for Y(i,j), matrix B satisfies the homogeneous equation X(i,j)B=0, and xcex is a scalar. Like above, a one parameter search over xcex may be performed to identify if all of the algebraic generators for any Y(i,j) are satisfied within a predetermined range. If a xcex0 exists that causes all of the algebraic generators for any xe2x80x9ci,jxe2x80x9d pair to be satisfied within a predetermined range, the one or more sensors that correspond to the ith observation and the jth observation are deemed to have failed. Once identified, the failed sensors may be disabled or otherwise removed from the system. A similar approach may also be applied to situations where three or more observations have failed.